Large enterprises typically have thousands of relational databases, each containing tens to hundreds of tables with one or more columns per table. In order to generate a new report or a new application using these tables, a user is faced with the problem of data discovery. Often, to find relevant information, the user must search through the relational databases and identify tables that include the relevant information. While searching through the tables for relevant information, the user must also understand the content of the tables and/or columns within the tables. As such, identifying relevant tables and/or columns of tables can be quite time consuming for the user and thus, a vast majority of the user's time is spent performing data discovery. One current approach used by enterprises for annotating target columns in a target database include employing data stewards and/or users of a target database to manually annotate each target column. Data stewards are employees dedicated to making the data of the enterprise usable. However, enterprises typically include thousands of target databases, each containing tens to hundreds of target tables with one or more target columns per table. As such, it can be economically inefficient and time consuming for an enterprise to employ data stewards to annotate target columns.